/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.sistemas.be;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import org.apache.myfaces.custom.fileupload.UploadedFile;

/**
 *
 * @author WILLIAM
 */
@Entity
@Table(name = "sis_galeria")
//@NamedQueries({
//    @NamedQuery(name = "Galeria.findAll", query = "SELECT g FROM Galeria g"),
//    @NamedQuery(name = "Galeria.findByGalCodigo", query = "SELECT g FROM Galeria g WHERE g.galCodigo = :galCodigo"),
//    @NamedQuery(name = "Galeria.findByGalNombre", query = "SELECT g FROM Galeria g WHERE g.galNombre = :galNombre"),
//    @NamedQuery(name = "Galeria.findByGalRuta", query = "SELECT g FROM Galeria g WHERE g.galRuta = :galRuta"),
//    @NamedQuery(name = "Galeria.findByGalTitulo", query = "SELECT g FROM Galeria g WHERE g.galTitulo = :galTitulo"),
//    @NamedQuery(name = "Galeria.findByGalCategoria", query = "SELECT g FROM Galeria g WHERE g.galCategoria = :galCategoria"),
//    @NamedQuery(name = "Galeria.findByGalFecharegistro", query = "SELECT g FROM Galeria g WHERE g.galFecharegistro = :galFecharegistro")})
public class SisGaleria implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "gal_codigo")
    private Integer galCodigo;
    @Basic(optional = false)
    @Column(name = "gal_nombre")
    private String galNombre;
    @Column(name = "gal_ruta")
    private String galRuta;
    @Column(name = "gal_titulo")
    private String galTitulo;
    @Basic(optional = false)
    @Column(name = "gal_categoria")
    private String galCategoria;
    @Basic(optional = false)
    @Column(name = "gal_fecharegistro")
    @Temporal(TemporalType.DATE)
    private Date galFecharegistro;
    @Basic(optional = false)
    @Column(name = "gal_fecha")
    @Temporal(TemporalType.DATE)
    private Date galFecha;
    @Column(name = "gal_comentario")
    private String galComentario;

    public SisGaleria() {
    }

    public SisGaleria(Integer galCodigo) {
        this.galCodigo = galCodigo;
    }

    public SisGaleria(Integer galCodigo, String galNombre, String galCategoria, Date galFecharegistro) {
        this.galCodigo = galCodigo;
        this.galNombre = galNombre;
        this.galCategoria = galCategoria;
        this.galFecharegistro = galFecharegistro;
    }

    public Integer getGalCodigo() {
        return galCodigo;
    }

    public void setGalCodigo(Integer galCodigo) {
        this.galCodigo = galCodigo;
    }

    public String getGalNombre() {
        return galNombre;
    }

    public void setGalNombre(String galNombre) {
        this.galNombre = galNombre;
    }

    public String getGalRuta() {
        return galRuta;
    }

    public void setGalRuta(String galRuta) {
        this.galRuta = galRuta;
    }

    public String getGalTitulo() {
        return galTitulo;
    }

    public void setGalTitulo(String galTitulo) {
        this.galTitulo = galTitulo;
    }

    public String getGalCategoria() {
        return galCategoria;
    }

    public void setGalCategoria(String galCategoria) {
        this.galCategoria = galCategoria;
    }

    public Date getGalFecharegistro() {
        return galFecharegistro;
    }

    public void setGalFecharegistro(Date galFecharegistro) {
        this.galFecharegistro = galFecharegistro;
    }

    public Date getGalFecha() {
        return galFecha;
    }

    public void setGalFecha(Date galFecha) {
        this.galFecha = galFecha;
    }

    public String getFechaFoto(){
        
        String fecha = "";
        if(galFecha != null || !galFecha.toString().isEmpty()){
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            fecha = sdf.format(galFecha);
        }else{
            fecha = null;
        }
        return fecha;
    }

    public String getGalComentario() {

        if(galComentario == null){
            galComentario = "Comentar foto...";
        }
        return galComentario;
    }

    public void setGalComentario(String galComentario) {
        this.galComentario = galComentario;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (galCodigo != null ? galCodigo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof SisGaleria)) {
            return false;
        }
        SisGaleria other = (SisGaleria) object;
        if ((this.galCodigo == null && other.galCodigo != null) || (this.galCodigo != null && !this.galCodigo.equals(other.galCodigo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.cip.esymons.sistemas.be.Galeria[galCodigo=" + galCodigo + "]";
    }

   

}
